<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the GNU Assembler "as".

Copyright (C) 1991-2016 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts.  A copy of the license is included in the
section entitled "GNU Free Documentation License".
 -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using as: AArch64 Options</title>

<meta name="description" content="Using as: AArch64 Options">
<meta name="keywords" content="Using as: AArch64 Options">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="AArch64_002dDependent.html#AArch64_002dDependent" rel="up" title="AArch64-Dependent">
<link href="AArch64-Extensions.html#AArch64-Extensions" rel="next" title="AArch64 Extensions">
<link href="AArch64_002dDependent.html#AArch64_002dDependent" rel="prev" title="AArch64-Dependent">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="AArch64-Options"></a>
<div class="header">
<p>
Next: <a href="AArch64-Extensions.html#AArch64-Extensions" accesskey="n" rel="next">AArch64 Extensions</a>, Up: <a href="AArch64_002dDependent.html#AArch64_002dDependent" accesskey="u" rel="up">AArch64-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Options"></a>
<h4 class="subsection">9.1.1 Options</h4>
<a name="index-AArch64-options-_0028none_0029"></a>
<a name="index-options-for-AArch64-_0028none_0029"></a>

<dl compact="compact">
<dd>
<a name="index-_002dEB-command-line-option_002c-AArch64"></a>
</dd>
<dt><code>-EB</code></dt>
<dd><p>This option specifies that the output generated by the assembler should
be marked as being encoded for a big-endian processor.
</p>
<a name="index-_002dEL-command-line-option_002c-AArch64"></a>
</dd>
<dt><code>-EL</code></dt>
<dd><p>This option specifies that the output generated by the assembler should
be marked as being encoded for a little-endian processor.
</p>
<a name="index-_002dmabi_003d-command-line-option_002c-AArch64"></a>
</dd>
<dt><code>-mabi=<var>abi</var></code></dt>
<dd><p>Specify which ABI the source code uses.  The recognized arguments
are: <code>ilp32</code> and <code>lp64</code>, which decides the generated object
file in ELF32 and ELF64 format respectively.  The default is <code>lp64</code>.
</p>
<a name="index-_002dmcpu_003d-command-line-option_002c-AArch64"></a>
</dd>
<dt><code>-mcpu=<var>processor</var>[+<var>extension</var>&hellip;]</code></dt>
<dd><p>This option specifies the target processor.  The assembler will issue an error
message if an attempt is made to assemble an instruction which will not execute
on the target processor.  The following processor names are recognized:
<code>cortex-a35</code>,
<code>cortex-a53</code>,
<code>cortex-a57</code>,
<code>cortex-a72</code>,
<code>cortex-a73</code>,
<code>exynos-m1</code>,
<code>qdf24xx</code>,
<code>thunderx</code>,
<code>vulcan</code>,
<code>xgene1</code>
and
<code>xgene2</code>.
The special name <code>all</code> may be used to allow the assembler to accept
instructions valid for any supported processor, including all optional
extensions.
</p>
<p>In addition to the basic instruction set, the assembler can be told to
accept, or restrict, various extension mnemonics that extend the
processor.  See <a href="AArch64-Extensions.html#AArch64-Extensions">AArch64 Extensions</a>.
</p>
<p>If some implementations of a particular processor can have an
extension, then then those extensions are automatically enabled.
Consequently, you will not normally have to specify any additional
extensions.
</p>
<a name="index-_002dmarch_003d-command-line-option_002c-AArch64"></a>
</dd>
<dt><code>-march=<var>architecture</var>[+<var>extension</var>&hellip;]</code></dt>
<dd><p>This option specifies the target architecture.  The assembler will
issue an error message if an attempt is made to assemble an
instruction which will not execute on the target architecture.  The
following architecture names are recognized: <code>armv8-a</code>,
<code>armv8.1-a</code> and <code>armv8.2-a</code>.
</p>
<p>If both <samp>-mcpu</samp> and <samp>-march</samp> are specified, the
assembler will use the setting for <samp>-mcpu</samp>.  If neither are
specified, the assembler will default to <samp>-mcpu=all</samp>.
</p>
<p>The architecture option can be extended with the same instruction set
extension options as the <samp>-mcpu</samp> option.  Unlike
<samp>-mcpu</samp>, extensions are not always enabled by default,
See <a href="AArch64-Extensions.html#AArch64-Extensions">AArch64 Extensions</a>.
</p>
<a name="index-_002dmverbose_002derror-command-line-option_002c-AArch64"></a>
</dd>
<dt><code>-mverbose-error</code></dt>
<dd><p>This option enables verbose error messages for AArch64 gas.  This option
is enabled by default.
</p>
<a name="index-_002dmno_002dverbose_002derror-command-line-option_002c-AArch64"></a>
</dd>
<dt><code>-mno-verbose-error</code></dt>
<dd><p>This option disables verbose error messages in AArch64 gas.
</p>
</dd>
</dl>

<hr>
<div class="header">
<p>
Next: <a href="AArch64-Extensions.html#AArch64-Extensions" accesskey="n" rel="next">AArch64 Extensions</a>, Up: <a href="AArch64_002dDependent.html#AArch64_002dDependent" accesskey="u" rel="up">AArch64-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
